/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sistemaacademico;

import java.io.Serializable;

/**
 *
 * @author thiagoj
 */
public class Estudante implements Serializable {

    private int matricula;
    private String nome;
    private String cpf;
    private Data dataNasc;
    private Disciplina disciplina[];
	
	

    public Estudante(int matricula, String nome, String cpf, int d, int m, int a) {
        this.matricula = matricula;
        this.nome = nome;
        this.cpf = cpf;
        this.dataNasc.setDia(d);
        this.dataNasc.setMes(m);
        this.dataNasc.setAno(a);
        this.disciplina = new Disciplina[10];
    }

    public Estudante(int matricula, String nome, String cpf, Data dataNasc) {
        this.matricula = matricula;
        this.nome = nome;
        this.cpf = cpf;
        this.dataNasc = dataNasc;
		this.disciplina = new Disciplina[10];
    }

    public int getMatricula() {
        return matricula;
    }

    public void setMatricula(int matricula) {
        this.matricula = matricula;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public Data getDataNasc() {
        return dataNasc;
    }

    public void setDataNasc(Data dataNasc) {
        this.dataNasc = dataNasc;
    }

    public Disciplina[] getDisciplina() {
        return disciplina;
    }

    public void setDisciplina(Disciplina[] disciplina) {
        this.disciplina = disciplina;
    }

    public void imprimir() {
        System.out.println("-------Ficha do aluno---------");
        System.out.println("Nome: " + this.nome);
        System.out.println("Matricula: " + this.matricula);
        System.out.println("CPF: " + this.cpf);
        System.out.println("Data de nascimento: " + this.dataNasc.imprimir());
        System.out.println("Disciplinas: ");

        for (Disciplina d : this.disciplina) {
            System.out.println("Disciplina: " + d.getNome() + "Conceito: " + d.getConceito());
        }

    }

    public String toString() {

        return "";
    }

    public boolean adicionarDisciplina(String nome) {
		int i = 0;
		
		while (this.disciplina[i] != null && i < this.disciplina.length){
			i++;
		}
		if (i < this.disciplina.length){
			this.disciplina[i] = new Disciplina(nome);
			
			return true;
		}
		
		return false;
        
    }


    
	
	public boolean adicionarConceito(int codigo, String conceito) {
        String conceitos[] = this.disciplina[codigo].getConceito();

        for (String c : conceitos) {
            if (c == "") {
                c = conceito;
            }
        }
        return false;
    }

    public void listarDisciplinas() {
        System.out.println("-----Lista de disciplinas-----");
        for (int i = 0; i < this.disciplina.length; i++) {
            System.out.println(i + " --> " + this.disciplina[i].getNome());
        }
    }
}
